Python列表,元组,字典,集合的区别

您所在的位置:网站首页 python 列表 元组 集合 字典 区别 Python列表,元组,字典,集合的区别

Python列表,元组,字典,集合的区别

2023-03-13 00:04| 来源: 网络整理| 查看: 265

常用方法 增加元素 list.append(x):将元素x增加到列表list的尾部alist = blist + clist:将列表blist和列表clist的元素依次复制到新的列表alist中list.extend(alist):将列表alist的所有元素加到列表list的尾部list.insert(index,x):在列表list的指定位置index处插入元素x,插入位置后的元素向后移动 删除元素 list.remove(x):在列表list中删除首次出现的元素xlist.pop(index):删除并返回列表list指定位置index处的元素,如果不指定index,则默认是最后一个元素list.clear():删除列表list的所有元素,并不是删除列表listdel list[index]:删除列表指定位置index处的元素,若index超出返回则抛出异常list[index1:index2]=[]:删除索引在index1到index2-1内的元素  访问元素 list.index(x):返回第一个元素x的索引位置,若不存在元素x则抛出异常list[index]:通过索引直接访问元素。 索引的区间在[0, 列表长度-1]这个范围。 超过这个范围则会抛出异常list[:]:提取整个列表list[start:]:从索引start开始到结尾提取列表list[:end]:从头开始到索引end-1提取列表list[start:end]:从start到end-1提取列表list[start:end:step]:从start提取到end-1,步长是step 计数 list.count(x):返回指定元素x在列表list中出现的次数len(list):返回列表中包含元素的个数 成员资格判断 x in list:如果元素x在列表list中,则返回True,否则返回False 列表排序 修改原列表,不建新列表的排序:list.reverse():所有元素原地进行逆序排序  list.sort():所有元素原地进行升序排序(reverse = False 升序(默认)),加上排序规则reverse = True则进行降序排序建新列表的排序:blist = sorted(alist):通过内置函数 sorted()进行排序,这个方法返回新列表,不对原列表做修改blist = reversed(alist):内置函数 reversed()也支持进行逆序排列,与列表对象reverse()方法不同的是,内置函数reversed()不对原列表做任何修改,只是返回一个逆序排列的迭代器对象

 

排序: 如果要对元组排序,只能使用内置函数 sorted(tupleObj) zip: zip(列表 1,列表 2,...)将多个列表对应位置的元素组合成为元组,并返回这个 zip 对象 a = (2,3,4,5) b = (1,2) print(list(zip(a, b))) # 结果:[(2, 1), (3, 2)] 获取元素: 获取数据,在获取数据时与列表完全相同: print(t[5]) # 正序索引,获取第6个元素 print(t[-1]) # 倒序索引 print(t[1:4]) # 范围取值 print('b' in t ) # 成员运算符 与列表的区别: 列表 元组 内容允许扩展 内容不可变 内存存储动态变化 创建后固定不变 效率较低 效率较高 运行时数据需要变更时使用 用于保存稳定不变的数据 保存天气数据,股市数据 保存国家名,元素周期表       列表使用方括号,list=[‘a’,’b’,1] 元组使用小括号,tuple=(‘a’,’b’,1)  

集合的数学运算先定义两个集合:set1和 set21)交集获取两个集合中重复部分,新建一个集合c3 = set1.intersection(set2) 更新原有集合:把交集赋值给set1set1.intersection_update(set2) 2)并集将两个集合元素合并,去重:c4 = set1.union(set2)Python中没有并集的更新函数update3)差集c5 = set1.difference(set2) #表示set1在set2中不存在的部分c6 = set1.symmetric_difference(set2) #symmetric_difference表示双向差集。既包含了set1在set2中没有出现的元素,也包含了set2在set1中没有出现的元素。set1.difference_update(set2) #对set1进行更新操作set1.symmetric_difference_update(set2) #对set1进行更新操作集合间的关系操作

s1 = {1, 2, 3, 4, 5, 6} s2 = {6, 5, 4, 3, 2, 1} # == 判断两个集合的元素是否完全相同 print(s1 == s2) s3 = {4, 5, 6, 7} s4 = {1, 2, 3, 4, 5, 7, 6, 8} # issubset判断是否为"子集" print(s3.issubset(s4)) # s3是否为s4的子集 # issuperset判断是否为"父集" print(s4.issuperset(s3)) # s4是否为s3的父集 s5 = {6} s6 = {1, 3, 5, 7, 9} # isdisjoint 函数判断两个集合是否存在重复元素 # True 代表不存在重复元素,False则代表存在重复 print(s5.isdisjoint(s6))

操作集合元素1)集合的遍历college1 = {"哲学", "经济学", "法学" , "教育学"}for c in college1: print(c)2)判断元素存在print("哲学" in college1)3)集合不支持按索引提取数据print(college1[3]) #会报错4)新增数据,一次只能添加一个元素college1.add("计算机学")5)update方法一次添加多个元素college1.update(["生物学" , "工程学"]) #列表也能改成元组print(college1)6)更新集合中的元素是要删除原有元素,再创建新元素(先remove或discard,再add)删除元素操作:remove如果删除不存在的元素时,会报错discard如果遇到不存在的元素时,则会忽略删除操作7)set.clear():清空set中的所有元素

    字典的取值操作 1)单个取值a = dict["k1"]可取到该字典中键k1对应的值;如果k1不存在,则会报错。a = dict.get("k1")如果k1存在,输出该键对于的值;如果k1不存在,会输出None。a=dict.get("k1" , "vn")如果k1存在,输出该键对于的值;如果k1不存在,会输出后面的值vn。2)判断键是否存在于字典k in dict可判断该键k是否存在于字典dict中,返回True或False。注意只判断键,不判断值。3)遍历字典 #遍历所有的键-值对 -- items() for k,v in {1:'a',2:'b'}.items(): print(k,v) print("-------------------") #遍历字典中的所有键 -- keys() for k in {'a':'b','c':'d'}.keys(): print(k) print("-------------------") for k in {'a':'b','c':'d'}: print(k) print("-------------------") #遍历字典中的所有值 -- values() for v in {'a':'b','c':'d'}.values(): print(v) 4)取最大最小键表达式 max({2:10,8:4,5:9}) 的结果是8。-----------字典由键值对组成,max(D)输出的是最大的键。表达式 min({2:10,8:4,5:9}) 的结果是2。-----------字典由键值对组成,min(D)输出的是最小的键。 字典元素的添加、修改和删除

1)新增和更新新增和更新均可以使用update函数,秉承有则更新,无则新增的原则。

  dict1.update(k1 = "v1" , k2 = "v2") 或者:dict['k'] = "v"原字典就有的k则更新v,没有的就添加一个。update内用的是 k = "v",k不需要引号。 2)删除

dict1.pop("k1" , "k2")删除对应的k所在的键值对。pop里只写k,要加引号。

dict1.popitem():删除该字典中最后一个键值对,popitem本身有值,为被删掉的键值对转为元组形式,即("k" , "v")。在 3.7 之前的版本中,popitem() 方法删除一个随机项。

dict1.clear()清空字典。

字典的其他常用操作 1)为字典设置默认值 setdefault为字典设置默认值,如果某个key存在则忽略,如果不存在则设置。dict.setdefault('key','默认值')如:emp.setdefault('grade','c') 2)字典的视图 随着原始数据的变动而变动。ks = emp.keys()  提取键vs = emp.values()  提取值its = emp.items()  提取键对值 3)字典的格式化输出

老版本字典格式化字符串变量 = “%(键)s”%字典名str="姓名:%(name)s,评级:%(grade)s,入职时间:%(hiredate)s" %emp 

新版本字典格式化字符串变量 = “{键}”.format_map(字典名)emp_str = "姓名{name},评级:{grade},入职时间:{hiredae}".format_map(emp)



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3